//
//  Extension+NSDate.swift
//  CZWeibo
//
//  Created by 左凯旭 on 16/8/15.
//  Copyright © 2016年 itcast. All rights reserved.
//

import UIKit

//时间格式化
let df = NSDateFormatter()

extension NSDate{
    
    class func getSinaDtae(creatAt: String)->NSDate{
    
       
        
        //设置格式
        df.dateFormat = "EEE MMM dd HH:mm:ss z yyyy"
        
        //本地化
        df.locale = NSLocale(localeIdentifier: "en_US")
        
        //微博时间
        let sinaDate = df.dateFromString(creatAt)!
        
        return sinaDate
        
    }
     // 得到微博时间格式化后的 字符串
        var sinaDateDescription: String{
        
            //判断是否是今年
            let isThisYear = sinaIsThisYear(self)
            if isThisYear {
                //是今年
                //日历类
                let calender = NSCalendar.currentCalendar()
                //判断是否是今天
                if calender.isDateInToday(self) {
                    // 当前时间和微博时间 求差
                    let s = Int(NSDate().timeIntervalSinceDate(self))
                    if s<60 {
                        return "刚刚"
                    }else if s >= 60 && s < 3600{
                        return "\(s/60)分钟前"
                    }else{
                        return "\(s/3600)小时前"
                    }
                }else if calender.isDateInYesterday(self){
                    //如果是昨天
                    df.dateFormat = "昨天: HH:mm"
                }else{
                    //其他
                    df.dateFormat = "MM月dd日 HH:mm"
                }
                
            }else{
                //不是今年    不是今年2014年06月14日 20:20
                df.dateFormat = "yyyy年MM月dd日 HH:mm"
            }
            return df.stringFromDate(self)
    }
    //判断是不是今年
    func sinaIsThisYear(sinaDate:NSDate)->Bool{
        

        
        //设置格式
        df.dateFormat = "yyyy"
        
        //本地化
        df.locale = NSLocale(localeIdentifier: "en_US")
        
        //微博时间
        let sinaDateTime = df.stringFromDate(sinaDate)
        //当前的时间
        let currentDateTime = df.stringFromDate(NSDate())
        
        return sinaDateTime == currentDateTime
    }
    
    
}
    
    
    

